生成式AI革命已持续三年,但AI的有效性受到“上下文差距”的限制。 没有正确的上下文,AI模型难以保证相关性,常常产生不准确或“幻觉”的响应。上下文工程旨在解决一个根本问题:在正确的时间以正确的格式提供正确的信息,使AI代理能够执行复杂的、特定于用例的任务。 如今,我们很高兴地宣布,Contextual AI正式加入Elastic AI生态系统——这是一套与Elasticsearch上下文工程平台和向量数据库集成的全面AI技术和工具。 其开放的、可用于生产的架构使其成为大规模构建可靠、上下文驱动的AI应用的理想基础。 通过将Contextual AI用于构建专业RAG代理的端到端上下文工程平台,与某中心的强大向量数据库和统一的Elasticsearch平台相结合,我们正在解决AI开发中最紧迫的挑战:上下文相关性和运营规模
Chat Reducer:让 AI 对话突破上下文限制 一句话简介 Microsoft.Extensions.AI 的 Chat Reducer 通过智能压缩策略,在保持对话质量的前提下,有效控制上下文长度 核心价值 ✅ 突破限制:解决 LLM 上下文窗口限制(如 GPT-4 的 8K/32K tokens) ✅ 成本优化:减少输入 token,显著降低 API 调用成本 ✅ 性能提升:缩短上下文长度,加快模型推理速度 SummarizingChatReducer(摘要压缩器) 利用 AI 自动生成摘要压缩历史对话。 核心特性: 超过阈值时自动调用 AI 生成摘要 摘要存储在 AdditionalProperties 中 渐进式压缩(新摘要包含旧摘要) 保留完整语义上下文 适用场景: 医疗咨询(完整病史重要) 使用计数压缩器 using Microsoft.Extensions.AI; // 创建压缩器,保留最近 3 条消息 var countingReducer = new MessageCountingChatReducer
Agent Builder:AI Agent如何管理上下文 Agent Builder 现已正式 GA。 最终,上下文窗口会被填满,准确率下降,Token 成本攀升。管理上下文已是一个首要问题。 我们还为较长的交互引入了智能上下文压缩:随着对话进行,代理会管理哪些内容留在活动上下文中,哪些被压缩成一个摘要(可在需要时检索)。 借助上下文压缩,即使对话达到 30 轮或更多,上下文窗口依然能保持在限制内,而不是迅速膨胀到最大值。 我们将在代理领域走向何方 能够优化运营数据上下文的代理,需要与我们在 搜索相关性 上多年来投入的 上下文工程 同等程度的精心设计。
上下文窗口,就是 AI Coding 的片上 RAM。 嵌入式工程师对资源限制很敏感。 现象只在 UART3 DMA 空闲中断路径复现,半传输回调未复现 真正好用的办法是给 AI 做一套上下文分层 我现在更倾向于把 AI Coding 的上下文分成四层。 第 1 层是本轮任务上下文。 AI 不需要一次性吃下所有资料,它只需要在需要的时候拿到正确片段。 这四层配起来,AI 才不需要把所有东西都塞进一个上下文窗口里。 给上下文做预算,别把窗口交给运气 上下文资源有限,就应该有预算。 让 AI 按需取上下文,而不是一次吃完整个仓库 大仓库里,最糟糕的方式是把大量文件一股脑塞进去。 更好的方式是先建立索引,让 AI 先知道去哪里找。 你可以把索引理解成代码仓库的目录缓存。 如果做不到,那上下文再大也只是晚一点溢出。 把上下文管好,AI 才不会只是一个能写代码的聊天窗口。它会慢慢变成项目里的第二块工作台:一边放代码,一边放证据,一边留下下一次还能接着用的经验。
Memory(记忆)是任何有效 AI agent 的基础组件。在最核心的层面,memory 存的是过去的用户交互和上下文信息,让 agent 在时间维度上做出更准确的响应。 视情况,agent 可能: 触发一次工具调用 向用户请求澄清 直接给出最终响应 Memory 把 AI agent 从被动响应的系统,变成具备上下文感知的助手。 句子先被切成 token,然后用轻量级 AI embedding 模型把每个 token 转成向量。每个 token 向量会基于周围词提供的上下文做细化。 系统会跨图检索互相连接的上下文,从而支持多跳推理,而不仅仅是语义相似度。 总结 现代 AI agent 想给出准确且个性化的响应,光靠关键词匹配或孤立的语义相似度是不够的。 agent memory 的未来在于从存储信息转向连接知识,让 AI 系统从上下文感知的助手,进一步演进为具备上下文推理能力的协作者。 by Mudassir Fazal 喜欢就关注一下吧
在 AutoDev 1.7.2 中,我们开始构建一个新的 AI Agent 语言:DevIns,即 Development Instruction。 PS:其实原来是叫 DevIn,但是无奈 Devin AI 项目发布了 demo 视频,所以改名为 DevIns。 在 AutoDev 项目中,我们通过构建上下文感知与自定义能力,来实现对于软件开发任务的智能辅助,如自动测试生成与运行、UI 自动生成等。 你可以将你的需求描述成自然语言: 解释代码 /file:src/main/java/com/example/Controller.java 而后,AutoDev 将会结合上下文,并将其编译成对应的指令文本 而当语言接近发布的时候, 在社交媒体上更火的 Devin AI 项目也刚好发布了 demo 视频。 WTF????
VFP AI 插件在访问大模型时,有一个上下文长度的问题。 对于 DeepSeek 而言,其大小为 128K(=128000 token)。 VFP AI 插件 2025.12.15 版,初步实现超长上下文的处理: 所分析 VCX 类库,使用类浏览器转换出的 prg 格式文件,文件体积为 400+KB,共 10329 行,超过模型最大上下文的最大限制
这不仅是角色扮演,更是一种思维同频: 当你以老板的上下文跟 ta 讲: 谈的是护城河、ROI、资源配置和宏观战略,ta 瞬间就是另一位深谋远虑的合伙人,与你推演商业棋局; 当你以生物学家的上下文跟 ta 在这个过程中,AI 并不是在凭空创造,而是在「共鸣」。 但这往往不是因为 AI 不够聪明,而是因为站在镜子前的人,并没有给出足够清晰的影像。 PART.04 你是谁,便遇见谁 使用 AI 到最后,你会发现这其实是一场向内的修行。 限制 AI 输出上限的,往往不是算力,也不是显卡,而是: 你对问题本质的理解程度; 你构建专业语境的能力; 你自身知识体系的边界。 你是什么,你的 AI 就是什么。
这是因为大模型有上下文长度限制,对话越长,历史消息越多,就越容易超限。结合我的理解,这篇文章分享一下如何实现上下文压缩,让你的 AI 应用既能"记住"关键信息,又能节省成本。 为什么需要上下文压缩? 面对上下文压缩,我们有三种主流策略: 摘要压缩:让 AI 把历史对话总结成一段摘要。适合长对话场景,比如客服机器人、知识问答。优点是信息损失小,缺点是需要额外 API 调用。 也可以根据 Token 数量判断,超过总上下文的 70% 就压缩。 注意事项: 摘要会丢失细节信息。如果用户问"我刚才说的那个餐厅叫什么",AI 可能答不上来。 太小会丢失上下文,太大又起不到压缩效果。可以根据实际场景调整。 一个改进技巧: 系统消息(System Prompt)要始终保留。它定义了 AI 的角色和行为准则,丢了会影响回复质量。 可以设计一个机制,当 AI 不确定时主动追问:"抱歉,能再告诉我一次您的联系方式吗?" 写在最后 今天我们介绍了三种 AI 对话上下文压缩策略: 摘要压缩:让 AI 总结历史,保留语义完整性。
所以业务上下文变更需要慎之又慎。 运行程序上下文 大家应该对一句话有印象:(进程/线程)上下文切换开销很大。这里的上下文一般指的就是运行程序的上下文。 这里的通信问题就是进程上下文切换开销大的缘故。 方法/类所在的上下文(作用域) 方法上下文可以理解为方法所在的作用域。类亦如此。 还有一些比较特殊的概念实际上也是和方法上下文相关。 比如worker语言特性中,需要监听message事件,这实质上,就是在当前上下文监听另一个上下文的状态。再比如回调函数。实际上是因为上下文变更后,对原有上下文访问的一种编程手段。 从这个角度看,闭包实质上也是对上下文的一种操作手段:返回一个函数,该函数在当前上下文可以操作闭包上的上下文。 执行上下文:当函数或方法被调用时,它会创建一个执行上下文,这个上下文包括了局部变量、参数、返回地址等信息。在JavaScript等语言中,执行上下文还包括this的值。
距离上一篇VFP AI 插件:超长上下文的识别(一)有些时间了。经过不断的试错和优化,终于完成了 VFP AI 插件的超长上下的识别。将时间从数小时压缩至最多几十分钟。 也意味着,为使用 VFP AI 插件进行项目分析扫清了主要的障碍。 凤凰涅槃,浴火重生!
Elastic与Cursor宣布深化合作,Cursor是一个领先的基于代理构建软件的AI编码平台。Elastic充当这些代理调用的上下文后端,从生产系统大规模提供实时的可观测性、安全性和搜索数据。 双方将上下文工程直接引入代理开发平台,使编码代理能够超越仓库感知,基于实时运营数据给出每一条建议、重构和修复。 可靠、可信的AI始于上下文工程,即构建系统为AI代理提供完成复杂任务所需的精准、有依据的信息和工具。 上下文工程不止于数据层。在Cursor内部,它表现为一个持续循环:代理读取代码、运行测试、观察日志、呈现告警、提出修复,全程不离开编辑器。 Cursor市场上的Elastic插件该插件捆绑了两个互补能力,提供完全上下文工程化的开发体验。
【上下文工程是】“……一种精妙的艺术与科学,旨在为下一步操作的上下文窗口填充恰好所需的信息。” LLM应用中常见的上下文类型 在构建LLM应用时,我们需要管理哪些类型的上下文呢? ):上下文内容过多超出模型训练适应范围 - 上下文混淆(Context Confusion):冗余上下文影响响应结果 - 上下文冲突(Context Clash):上下文各部分信息相互矛盾 工具调用产生的上下文会在智能体的多轮交互中不断累积 鉴于此,Cognition公司强调了上下文工程的重要性: “上下文工程”……实际上是构建AI智能体的工程师的首要工作。 在AI工程师世界博览会上,西蒙·威利森(Simon Willison)分享了一个选择失误的例子:ChatGPT从记忆中获取了他的位置信息,并意外地将其注入到用户请求生成的图像中。 选择上下文——将信息拉入上下文窗口,辅助智能体执行任务。 压缩上下文——仅保留执行任务所需的tokens。 隔离上下文——拆分上下文,以帮助智能体执行任务。
Spec编写:让PRD自动变成技术方案 第3篇:AI编码提效实战:Skill、Rule与上下文工程(本篇) ⏳ 第4篇:AI Code Review:让每一行代码都有AI审查员 ⏳ 第5篇:AI Bug 上下文工程要解决的问题是:在 AI 完成当前任务所需的最小信息集合和上下文窗口容量之间,找到最优平衡点。 3.1 上下文的四个层次 我把 AI 编码时的上下文分成四层,从成本最低到最高: 上下文金字塔 L4:全项目索引 成本最高·效果不确定 ↑ L3:相关文件引用 中等成本·效果好 ↑ L2:模块 每次 AI 生成的代码不符合你的预期,先想想:是 Rule 没覆盖到,还是上下文没给对?然后更新相应的配置文件。 编写:让PRD自动变成技术方案 第3篇:AI编码提效实战:Skill、Rule与上下文工程(本篇) ⏳ 第4篇:AI Code Review:让每一行代码都有AI审查员 ⏳ 第5篇:AI Bug修复与测试生成
上下文匹配搜索:每次发起会话时,根据上下文信息在向量存储中搜索最匹配的函数。
模型调用:将匹配的函数传递给语言模型,用于生成更准确的响应。 Microsoft.SemanticKernel.Agents.Core,*-*"
#r "nuget:Microsoft.SemanticKernel.Connectors.InMemory,*-*"
#r "nuget:Microsoft.Extensions.AI 初始化 Kernel
通过 Kernel 实现 AI 服务的初始化,包括注册聊天模型和嵌入生成器:
var builder = Kernel.CreateBuilder();
// 添加 Azure 代码如下:
using Microsoft.Extensions.AI;
///
(3)AI游戏引擎不同于传统游戏引擎,AI游戏引擎是玩家想象力的“放大器”,任何人可以随心所欲“创造”游戏!AI引擎的崛起带动着生成式游戏的兴起与发展。 (4)质陪解决方案由中关村科金得助智能开发,创造性地融合成熟的AI大模型质检与陪练系统,推出了全面高效的“质陪解决方案”。智能质检采用大小模型结合的方式,对销售人员的销售行为进行全方位监测和分析。 (5)上下文工程上下文工程指通过为任务提供完整的背景信息,让大模型能够合理解决问题。在AI智能体的兴起发展过程中,上下文工程才是决定大多数AI智能体成败的关键而并非模型。 上下文工程致力于设计和构建动态系统而并非字符串,这些系统在恰当的时机提供信息和工具,从而让LLM拥有完成任务所需的一切。
大模型其实根本不用懂 模型上下文协议(MCP)如今已成为构建AI智能体时“工具调用”的标准配置。但很多人误解了一点:你的大语言模型(LLM)并不需要理解MCP是什么。 如果你对上下文工程不是很清晰,我之前也整理过关于Agent上下文工程的工作原理,建议粉丝朋友自行查阅,以便更好的理解本文的分享内容:《图解Agent上下文工程,小白都能看懂》MCP 的作用,其实是帮助AI AI回复(可能包含工具调用请求)2. 用户问题(如“旧金山天气如何?”)2. 若需调用工具:标注工具ID、名称及参数3. 三、MCP:开发者的“工具万能接口” 模型上下文协议(MCP)的本质,是一种标准化方法,用于帮助AI智能体连接多种数据源,包括工具、提示语、资源、示例等。 四、回归上下文工程:MCP是来帮你减负的 “上下文工程”的核心在于为模型提供高质量的背景信息,以引导其生成更准确的回复。
就历史对话的上下文而言,精简文字内容同样适用,这个精简过程被称作“摘要”,意思是摘取主要信息。 企业可以通过火山方舟快速构建自己的AI应用,降低开发成本与技术门槛。 企业可以通过火山方舟快速构建自己的AI应用,降低开发成本与技术门槛。 企业可以通过火山方舟快速构建自己的AI应用,降低开发成本与技术门槛。 本系列的AI应用开发文章目录为《15天学会AI应用开发全目录(零基础小白,零Token消耗)》。
即时上下文就是AI代理开发的终极奥义 我现在跟AI代理打交道的时间越长,就越发现一个真理,这个真理简单到让人想拍大腿,那就是"即时上下文"这四个字简直就是万能钥匙,几乎能打开当前AI代理技术栈里的所有大门 这个发现适用于目前AI代理技术栈里的几乎所有组件,每一个都在印证这个"即时上下文"的真理。 这位老哥观察到,目前所有的AI代理框架和工具(也就是他说的"harnesses"),优化的方向都在朝着即时上下文这个点靠拢。大家都在想办法让上下文加载更智能、更精准、更及时。 即时上下文不仅仅是一个技术细节,它是AI代理架构设计的第一性原理,理解了这一点,就理解了AI代理的过去、现在和未来。 因为AI模型的上下文窗口是有限的,而且每次加载上下文都是要消耗token、消耗算力、消耗时间的。在资源受限的情况下,"精准投放"比"大水漫灌"重要得多。
继续spring-ai学习之旅,大模型本身是无状态的,也就是每次请求对它来说,都是全新的,无记忆! \n\n不过,可能题目是在某种特定的上下文中,比如在数学问题中,或者可能题目本身存在一些陷阱。比如,有时候变量可能有不同的含义,或者在某些语言中,变量名可能与实际值不一致? >org.springframework.ai</groupId> 3 <artifactId>spring-ai-starter-model-chat-memory-repository-jdbc 最新版本只有1.0.0,但是spring-ai-bom最新版却是1.1.0。 当前新问题,扔到聊天上下文中 chatMemory.add(conversationId, new UserMessage(prompt)); // 2.